Statistical natural language processing (SNLP), which employs statistical techniques to automatically generate and analyze natural human languages, often requires parameter estimation for various statistical models employed for performing SNLP tasks. To achieve this end, various parameter estimation algorithms have been used. However, each parameter estimation algorithm may perform differently when applied to different types of SNLP tasks. Further, performance targets, such as training time, runtime speed, memory footprint, and accuracy, may vary depending on the type of application under development. For example, a web-based application may utilize frequent updates of the statistical model and a large memory footprint, while a mobile device application may utilize less frequent updates and a small memory footprint. These variations make it difficult for a software developer to select an appropriate parameter estimation algorithm for each project.
Selection of a parameter estimation algorithm that does not perform well for a particular SNLP problem can be undesirably time consuming, resulting in wasted processing time. Current systems are unable to suitably predict performance of a parameter estimation algorithm for different types of SNLP task. Therefore it is difficult for developers to select a parameter estimation algorithm suitable to a particular SNLP task.